1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 29 module derelict.purple.blist; 30 31 import derelict.glib.gtypes; 32 import derelict.glib.glibconfig; 33 import derelict.glib.ghash; 34 import derelict.glib.gslist; 35 import derelict.glib.glist; 36 import derelict.purple.buddyicon; 37 import derelict.purple.account; 38 import derelict.purple.status; 39 import derelict.purple.enum_types; 40 41 extern (C): 42 43 alias _PurpleBuddyList PurpleBuddyList; 44 alias _PurpleBlistUiOps PurpleBlistUiOps; 45 alias _PurpleBlistNode PurpleBlistNode; 46 alias _PurpleChat PurpleChat; 47 alias _PurpleGroup PurpleGroup; 48 alias _PurpleContact PurpleContact; 49 alias _PurpleBuddy PurpleBuddy; 50 alias _Anonymous_0 PurpleBlistNodeType; 51 alias _Anonymous_1 PurpleBlistNodeFlags; 52 53 enum _Anonymous_0 54 { 55 PURPLE_BLIST_GROUP_NODE = 0, 56 PURPLE_BLIST_CONTACT_NODE = 1, 57 PURPLE_BLIST_BUDDY_NODE = 2, 58 PURPLE_BLIST_CHAT_NODE = 3, 59 PURPLE_BLIST_OTHER_NODE = 4 60 } 61 62 enum _Anonymous_1 63 { 64 PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 65 } 66 67 struct _PurpleBlistNode 68 { 69 PurpleBlistNodeType type; 70 PurpleBlistNode* prev; 71 PurpleBlistNode* next; 72 PurpleBlistNode* parent; 73 PurpleBlistNode* child; 74 GHashTable* settings; 75 void* ui_data; 76 PurpleBlistNodeFlags flags; 77 } 78 79 struct _PurpleBuddy 80 { 81 PurpleBlistNode node; 82 char* name; 83 char* alias_; 84 char* server_alias; 85 void* proto_data; 86 PurpleBuddyIcon* icon; 87 PurpleAccount* account; 88 PurplePresence* presence; 89 PurpleMediaCaps media_caps; 90 } 91 92 struct _PurpleContact 93 { 94 PurpleBlistNode node; 95 char* alias_; 96 int totalsize; 97 int currentsize; 98 int online; 99 PurpleBuddy* priority; 100 gboolean priority_valid; 101 } 102 103 struct _PurpleGroup 104 { 105 PurpleBlistNode node; 106 char* name; 107 int totalsize; 108 int currentsize; 109 int online; 110 } 111 112 struct _PurpleChat 113 { 114 PurpleBlistNode node; 115 char* alias_; 116 GHashTable* components; 117 PurpleAccount* account; 118 } 119 120 struct _PurpleBuddyList 121 { 122 PurpleBlistNode* root; 123 GHashTable* buddies; 124 void* ui_data; 125 } 126 127 struct _PurpleBlistUiOps 128 { 129 void function (PurpleBuddyList*) new_list; 130 void function (PurpleBlistNode*) new_node; 131 void function (PurpleBuddyList*) show; 132 void function (PurpleBuddyList*, PurpleBlistNode*) update; 133 void function (PurpleBuddyList*, PurpleBlistNode*) remove; 134 void function (PurpleBuddyList*) destroy; 135 void function (PurpleBuddyList*, gboolean) set_visible; 136 void function (PurpleAccount*, const(char)*, const(char)*, const(char)*) request_add_buddy; 137 void function (PurpleAccount*, PurpleGroup*, const(char)*, const(char)*) request_add_chat; 138 void function () request_add_group; 139 void function (PurpleBlistNode*) save_node; 140 void function (PurpleBlistNode*) remove_node; 141 void function (PurpleAccount*) save_account; 142 void function () _purple_reserved1; 143 } 144 145 version(Derelict_Link_Static) 146 { 147 extern( C ) nothrow 148 { 149 PurpleBuddyList* purple_blist_new(); 150 void purple_set_blist(PurpleBuddyList* blist); 151 PurpleBuddyList* purple_get_blist(); 152 PurpleBlistNode* purple_blist_get_root(); 153 GSList* purple_blist_get_buddies(); 154 gpointer purple_blist_get_ui_data(); 155 void purple_blist_set_ui_data(gpointer ui_data); 156 PurpleBlistNode* purple_blist_node_next(PurpleBlistNode* node, gboolean offline); 157 PurpleBlistNode* purple_blist_node_get_parent(PurpleBlistNode* node); 158 PurpleBlistNode* purple_blist_node_get_first_child(PurpleBlistNode* node); 159 PurpleBlistNode* purple_blist_node_get_sibling_next(PurpleBlistNode* node); 160 PurpleBlistNode* purple_blist_node_get_sibling_prev(PurpleBlistNode* node); 161 gpointer purple_blist_node_get_ui_data(const(PurpleBlistNode)* node); 162 void purple_blist_node_set_ui_data(PurpleBlistNode* node, gpointer ui_data); 163 void purple_blist_show(); 164 void purple_blist_destroy(); 165 void purple_blist_set_visible(gboolean show); 166 void purple_blist_update_buddy_status(PurpleBuddy* buddy, PurpleStatus* old_status); 167 void purple_blist_update_node_icon(PurpleBlistNode* node); 168 void purple_blist_update_buddy_icon(PurpleBuddy* buddy); 169 void purple_blist_rename_buddy(PurpleBuddy* buddy, const(char)* name); 170 void purple_blist_alias_contact(PurpleContact* contact, const(char)* alias_); 171 void purple_blist_alias_buddy(PurpleBuddy* buddy, const(char)* alias_); 172 void purple_blist_server_alias_buddy(PurpleBuddy* buddy, const(char)* alias_); 173 void purple_blist_alias_chat(PurpleChat* chat, const(char)* alias_); 174 void purple_blist_rename_group(PurpleGroup* group, const(char)* name); 175 PurpleChat* purple_chat_new(PurpleAccount* account, const(char)* alias_, GHashTable* components); 176 void purple_chat_destroy(PurpleChat* chat); 177 void purple_blist_add_chat(PurpleChat* chat, PurpleGroup* group, PurpleBlistNode* node); 178 PurpleBuddy* purple_buddy_new(PurpleAccount* account, const(char)* name, const(char)* alias_); 179 void purple_buddy_destroy(PurpleBuddy* buddy); 180 void purple_buddy_set_icon(PurpleBuddy* buddy, PurpleBuddyIcon* icon); 181 PurpleAccount* purple_buddy_get_account(const(PurpleBuddy)* buddy); 182 const(char)* purple_buddy_get_name(const(PurpleBuddy)* buddy); 183 PurpleBuddyIcon* purple_buddy_get_icon(const(PurpleBuddy)* buddy); 184 gpointer purple_buddy_get_protocol_data(const(PurpleBuddy)* buddy); 185 void purple_buddy_set_protocol_data(PurpleBuddy* buddy, gpointer data); 186 PurpleContact* purple_buddy_get_contact(PurpleBuddy* buddy); 187 PurplePresence* purple_buddy_get_presence(const(PurpleBuddy)* buddy); 188 PurpleMediaCaps purple_buddy_get_media_caps(const(PurpleBuddy)* buddy); 189 void purple_buddy_set_media_caps(PurpleBuddy* buddy, PurpleMediaCaps media_caps); 190 void purple_blist_add_buddy(PurpleBuddy* buddy, PurpleContact* contact, PurpleGroup* group, PurpleBlistNode* node); 191 PurpleGroup* purple_group_new(const(char)* name); 192 void purple_group_destroy(PurpleGroup* group); 193 void purple_blist_add_group(PurpleGroup* group, PurpleBlistNode* node); 194 PurpleContact* purple_contact_new(); 195 void purple_contact_destroy(PurpleContact* contact); 196 PurpleGroup* purple_contact_get_group(const(PurpleContact)* contact); 197 void purple_blist_add_contact(PurpleContact* contact, PurpleGroup* group, PurpleBlistNode* node); 198 void purple_blist_merge_contact(PurpleContact* source, PurpleBlistNode* node); 199 PurpleBuddy* purple_contact_get_priority_buddy(PurpleContact* contact); 200 void purple_contact_set_alias(PurpleContact* contact, const(char)* alias_); 201 const(char)* purple_contact_get_alias(PurpleContact* contact); 202 gboolean purple_contact_on_account(PurpleContact* contact, PurpleAccount* account); 203 void purple_contact_invalidate_priority_buddy(PurpleContact* contact); 204 void purple_blist_remove_buddy(PurpleBuddy* buddy); 205 void purple_blist_remove_contact(PurpleContact* contact); 206 void purple_blist_remove_chat(PurpleChat* chat); 207 void purple_blist_remove_group(PurpleGroup* group); 208 const(char)* purple_buddy_get_alias_only(PurpleBuddy* buddy); 209 const(char)* purple_buddy_get_server_alias(PurpleBuddy* buddy); 210 const(char)* purple_buddy_get_contact_alias(PurpleBuddy* buddy); 211 const(char)* purple_buddy_get_local_alias(PurpleBuddy* buddy); 212 const(char)* purple_buddy_get_alias(PurpleBuddy* buddy); 213 const(char)* purple_buddy_get_local_buddy_alias(PurpleBuddy* buddy); 214 const(char)* purple_chat_get_name(PurpleChat* chat); 215 PurpleBuddy* purple_find_buddy(PurpleAccount* account, const(char)* name); 216 PurpleBuddy* purple_find_buddy_in_group(PurpleAccount* account, const(char)* name, PurpleGroup* group); 217 GSList* purple_find_buddies(PurpleAccount* account, const(char)* name); 218 PurpleGroup* purple_find_group(const(char)* name); 219 PurpleChat* purple_blist_find_chat(PurpleAccount* account, const(char)* name); 220 PurpleGroup* purple_chat_get_group(PurpleChat* chat); 221 PurpleAccount* purple_chat_get_account(PurpleChat* chat); 222 GHashTable* purple_chat_get_components(PurpleChat* chat); 223 PurpleGroup* purple_buddy_get_group(PurpleBuddy* buddy); 224 GSList* purple_group_get_accounts(PurpleGroup* g); 225 gboolean purple_group_on_account(PurpleGroup* g, PurpleAccount* account); 226 const(char)* purple_group_get_name(PurpleGroup* group); 227 void purple_blist_add_account(PurpleAccount* account); 228 void purple_blist_remove_account(PurpleAccount* account); 229 int purple_blist_get_group_size(PurpleGroup* group, gboolean offline); 230 int purple_blist_get_group_online_count(PurpleGroup* group); 231 void purple_blist_load(); 232 void purple_blist_schedule_save(); 233 void purple_blist_request_add_buddy(PurpleAccount* account, const(char)* username, const(char)* group, const(char)* alias_); 234 void purple_blist_request_add_chat(PurpleAccount* account, PurpleGroup* group, const(char)* alias_, const(char)* name); 235 void purple_blist_request_add_group(); 236 void purple_blist_node_set_bool(PurpleBlistNode* node, const(char)* key, gboolean value); 237 gboolean purple_blist_node_get_bool(PurpleBlistNode* node, const(char)* key); 238 void purple_blist_node_set_int(PurpleBlistNode* node, const(char)* key, int value); 239 int purple_blist_node_get_int(PurpleBlistNode* node, const(char)* key); 240 void purple_blist_node_set_string(PurpleBlistNode* node, const(char)* key, const(char)* value); 241 const(char)* purple_blist_node_get_string(PurpleBlistNode* node, const(char)* key); 242 void purple_blist_node_remove_setting(PurpleBlistNode* node, const(char)* key); 243 void purple_blist_node_set_flags(PurpleBlistNode* node, PurpleBlistNodeFlags flags); 244 PurpleBlistNodeFlags purple_blist_node_get_flags(PurpleBlistNode* node); 245 PurpleBlistNodeType purple_blist_node_get_type(PurpleBlistNode* node); 246 GList* purple_blist_node_get_extended_menu(PurpleBlistNode* n); 247 void purple_blist_set_ui_ops(PurpleBlistUiOps* ops); 248 PurpleBlistUiOps* purple_blist_get_ui_ops(); 249 void* purple_blist_get_handle(); 250 void purple_blist_init(); 251 void purple_blist_uninit(); 252 } 253 } 254 else 255 { 256 extern( C ) nothrow 257 { 258 alias da_purple_blist_new = PurpleBuddyList* function(); 259 alias da_purple_set_blist = void function(PurpleBuddyList* blist); 260 alias da_purple_get_blist = PurpleBuddyList* function(); 261 alias da_purple_blist_get_root = PurpleBlistNode* function(); 262 alias da_purple_blist_get_buddies = GSList* function(); 263 alias da_purple_blist_get_ui_data = gpointer function(); 264 alias da_purple_blist_set_ui_data = void function(gpointer ui_data); 265 alias da_purple_blist_node_next = PurpleBlistNode* function(PurpleBlistNode* node, gboolean offline); 266 alias da_purple_blist_node_get_parent = PurpleBlistNode* function(PurpleBlistNode* node); 267 alias da_purple_blist_node_get_first_child = PurpleBlistNode* function(PurpleBlistNode* node); 268 alias da_purple_blist_node_get_sibling_next = PurpleBlistNode* function(PurpleBlistNode* node); 269 alias da_purple_blist_node_get_sibling_prev = PurpleBlistNode* function(PurpleBlistNode* node); 270 alias da_purple_blist_node_get_ui_data = gpointer function(const(PurpleBlistNode)* node); 271 alias da_purple_blist_node_set_ui_data = void function(PurpleBlistNode* node, gpointer ui_data); 272 alias da_purple_blist_show = void function(); 273 alias da_purple_blist_destroy = void function(); 274 alias da_purple_blist_set_visible = void function(gboolean show); 275 alias da_purple_blist_update_buddy_status = void function(PurpleBuddy* buddy, PurpleStatus* old_status); 276 alias da_purple_blist_update_node_icon = void function(PurpleBlistNode* node); 277 alias da_purple_blist_update_buddy_icon = void function(PurpleBuddy* buddy); 278 alias da_purple_blist_rename_buddy = void function(PurpleBuddy* buddy, const(char)* name); 279 alias da_purple_blist_alias_contact = void function(PurpleContact* contact, const(char)* alias_); 280 alias da_purple_blist_alias_buddy = void function(PurpleBuddy* buddy, const(char)* alias_); 281 alias da_purple_blist_server_alias_buddy = void function(PurpleBuddy* buddy, const(char)* alias_); 282 alias da_purple_blist_alias_chat = void function(PurpleChat* chat, const(char)* alias_); 283 alias da_purple_blist_rename_group = void function(PurpleGroup* group, const(char)* name); 284 alias da_purple_chat_new = PurpleChat* function(PurpleAccount* account, const(char)* alias_, GHashTable* components); 285 alias da_purple_chat_destroy = void function(PurpleChat* chat); 286 alias da_purple_blist_add_chat = void function(PurpleChat* chat, PurpleGroup* group, PurpleBlistNode* node); 287 alias da_purple_buddy_new = PurpleBuddy* function(PurpleAccount* account, const(char)* name, const(char)* alias_); 288 alias da_purple_buddy_destroy = void function(PurpleBuddy* buddy); 289 alias da_purple_buddy_set_icon = void function(PurpleBuddy* buddy, PurpleBuddyIcon* icon); 290 alias da_purple_buddy_get_account = PurpleAccount* function(const(PurpleBuddy)* buddy); 291 alias da_purple_buddy_get_name = const(char)* function(const(PurpleBuddy)* buddy); 292 alias da_purple_buddy_get_icon = PurpleBuddyIcon* function(const(PurpleBuddy)* buddy); 293 alias da_purple_buddy_get_protocol_data = gpointer function(const(PurpleBuddy)* buddy); 294 alias da_purple_buddy_set_protocol_data = void function(PurpleBuddy* buddy, gpointer data); 295 alias da_purple_buddy_get_contact = PurpleContact* function(PurpleBuddy* buddy); 296 alias da_purple_buddy_get_presence = PurplePresence* function(const(PurpleBuddy)* buddy); 297 alias da_purple_buddy_get_media_caps = PurpleMediaCaps function(const(PurpleBuddy)* buddy); 298 alias da_purple_buddy_set_media_caps = void function(PurpleBuddy* buddy, PurpleMediaCaps media_caps); 299 alias da_purple_blist_add_buddy = void function(PurpleBuddy* buddy, PurpleContact* contact, PurpleGroup* group, PurpleBlistNode* node); 300 alias da_purple_group_new = PurpleGroup* function(const(char)* name); 301 alias da_purple_group_destroy = void function(PurpleGroup* group); 302 alias da_purple_blist_add_group = void function(PurpleGroup* group, PurpleBlistNode* node); 303 alias da_purple_contact_new = PurpleContact* function(); 304 alias da_purple_contact_destroy = void function(PurpleContact* contact); 305 alias da_purple_contact_get_group = PurpleGroup* function(const(PurpleContact)* contact); 306 alias da_purple_blist_add_contact = void function(PurpleContact* contact, PurpleGroup* group, PurpleBlistNode* node); 307 alias da_purple_blist_merge_contact = void function(PurpleContact* source, PurpleBlistNode* node); 308 alias da_purple_contact_get_priority_buddy = PurpleBuddy* function(PurpleContact* contact); 309 alias da_purple_contact_set_alias = void function(PurpleContact* contact, const(char)* alias_); 310 alias da_purple_contact_get_alias = const(char)* function(PurpleContact* contact); 311 alias da_purple_contact_on_account = gboolean function(PurpleContact* contact, PurpleAccount* account); 312 alias da_purple_contact_invalidate_priority_buddy = void function(PurpleContact* contact); 313 alias da_purple_blist_remove_buddy = void function(PurpleBuddy* buddy); 314 alias da_purple_blist_remove_contact = void function(PurpleContact* contact); 315 alias da_purple_blist_remove_chat = void function(PurpleChat* chat); 316 alias da_purple_blist_remove_group = void function(PurpleGroup* group); 317 alias da_purple_buddy_get_alias_only = const(char)* function(PurpleBuddy* buddy); 318 alias da_purple_buddy_get_server_alias = const(char)* function(PurpleBuddy* buddy); 319 alias da_purple_buddy_get_contact_alias = const(char)* function(PurpleBuddy* buddy); 320 alias da_purple_buddy_get_local_alias = const(char)* function(PurpleBuddy* buddy); 321 alias da_purple_buddy_get_alias = const(char)* function(PurpleBuddy* buddy); 322 alias da_purple_buddy_get_local_buddy_alias = const(char)* function(PurpleBuddy* buddy); 323 alias da_purple_chat_get_name = const(char)* function(PurpleChat* chat); 324 alias da_purple_find_buddy = PurpleBuddy* function(PurpleAccount* account, const(char)* name); 325 alias da_purple_find_buddy_in_group = PurpleBuddy* function(PurpleAccount* account, const(char)* name, PurpleGroup* group); 326 alias da_purple_find_buddies = GSList* function(PurpleAccount* account, const(char)* name); 327 alias da_purple_find_group = PurpleGroup* function(const(char)* name); 328 alias da_purple_blist_find_chat = PurpleChat* function(PurpleAccount* account, const(char)* name); 329 alias da_purple_chat_get_group = PurpleGroup* function(PurpleChat* chat); 330 alias da_purple_chat_get_account = PurpleAccount* function(PurpleChat* chat); 331 alias da_purple_chat_get_components = GHashTable* function(PurpleChat* chat); 332 alias da_purple_buddy_get_group = PurpleGroup* function(PurpleBuddy* buddy); 333 alias da_purple_group_get_accounts = GSList* function(PurpleGroup* g); 334 alias da_purple_group_on_account = gboolean function(PurpleGroup* g, PurpleAccount* account); 335 alias da_purple_group_get_name = const(char)* function(PurpleGroup* group); 336 alias da_purple_blist_add_account = void function(PurpleAccount* account); 337 alias da_purple_blist_remove_account = void function(PurpleAccount* account); 338 alias da_purple_blist_get_group_size = int function(PurpleGroup* group, gboolean offline); 339 alias da_purple_blist_get_group_online_count = int function(PurpleGroup* group); 340 alias da_purple_blist_load = void function(); 341 alias da_purple_blist_schedule_save = void function(); 342 alias da_purple_blist_request_add_buddy = void function(PurpleAccount* account, const(char)* username, const(char)* group, const(char)* alias_); 343 alias da_purple_blist_request_add_chat = void function(PurpleAccount* account, PurpleGroup* group, const(char)* alias_, const(char)* name); 344 alias da_purple_blist_request_add_group = void function(); 345 alias da_purple_blist_node_set_bool = void function(PurpleBlistNode* node, const(char)* key, gboolean value); 346 alias da_purple_blist_node_get_bool = gboolean function(PurpleBlistNode* node, const(char)* key); 347 alias da_purple_blist_node_set_int = void function(PurpleBlistNode* node, const(char)* key, int value); 348 alias da_purple_blist_node_get_int = int function(PurpleBlistNode* node, const(char)* key); 349 alias da_purple_blist_node_set_string = void function(PurpleBlistNode* node, const(char)* key, const(char)* value); 350 alias da_purple_blist_node_get_string = const(char)* function(PurpleBlistNode* node, const(char)* key); 351 alias da_purple_blist_node_remove_setting = void function(PurpleBlistNode* node, const(char)* key); 352 alias da_purple_blist_node_set_flags = void function(PurpleBlistNode* node, PurpleBlistNodeFlags flags); 353 alias da_purple_blist_node_get_flags = PurpleBlistNodeFlags function(PurpleBlistNode* node); 354 alias da_purple_blist_node_get_type = PurpleBlistNodeType function(PurpleBlistNode* node); 355 alias da_purple_blist_node_get_extended_menu = GList* function(PurpleBlistNode* n); 356 alias da_purple_blist_set_ui_ops = void function(PurpleBlistUiOps* ops); 357 alias da_purple_blist_get_ui_ops = PurpleBlistUiOps* function(); 358 alias da_purple_blist_get_handle = void* function(); 359 alias da_purple_blist_init = void function(); 360 alias da_purple_blist_uninit = void function(); 361 } 362 363 __gshared 364 { 365 da_purple_blist_new purple_blist_new; 366 da_purple_set_blist purple_set_blist; 367 da_purple_get_blist purple_get_blist; 368 da_purple_blist_get_root purple_blist_get_root; 369 da_purple_blist_get_buddies purple_blist_get_buddies; 370 da_purple_blist_get_ui_data purple_blist_get_ui_data; 371 da_purple_blist_set_ui_data purple_blist_set_ui_data; 372 da_purple_blist_node_next purple_blist_node_next; 373 da_purple_blist_node_get_parent purple_blist_node_get_parent; 374 da_purple_blist_node_get_first_child purple_blist_node_get_first_child; 375 da_purple_blist_node_get_sibling_next purple_blist_node_get_sibling_next; 376 da_purple_blist_node_get_sibling_prev purple_blist_node_get_sibling_prev; 377 da_purple_blist_node_get_ui_data purple_blist_node_get_ui_data; 378 da_purple_blist_node_set_ui_data purple_blist_node_set_ui_data; 379 da_purple_blist_show purple_blist_show; 380 da_purple_blist_destroy purple_blist_destroy; 381 da_purple_blist_set_visible purple_blist_set_visible; 382 da_purple_blist_update_buddy_status purple_blist_update_buddy_status; 383 da_purple_blist_update_node_icon purple_blist_update_node_icon; 384 da_purple_blist_update_buddy_icon purple_blist_update_buddy_icon; 385 da_purple_blist_rename_buddy purple_blist_rename_buddy; 386 da_purple_blist_alias_contact purple_blist_alias_contact; 387 da_purple_blist_alias_buddy purple_blist_alias_buddy; 388 da_purple_blist_server_alias_buddy purple_blist_server_alias_buddy; 389 da_purple_blist_alias_chat purple_blist_alias_chat; 390 da_purple_blist_rename_group purple_blist_rename_group; 391 da_purple_chat_new purple_chat_new; 392 da_purple_chat_destroy purple_chat_destroy; 393 da_purple_blist_add_chat purple_blist_add_chat; 394 da_purple_buddy_new purple_buddy_new; 395 da_purple_buddy_destroy purple_buddy_destroy; 396 da_purple_buddy_set_icon purple_buddy_set_icon; 397 da_purple_buddy_get_account purple_buddy_get_account; 398 da_purple_buddy_get_name purple_buddy_get_name; 399 da_purple_buddy_get_icon purple_buddy_get_icon; 400 da_purple_buddy_get_protocol_data purple_buddy_get_protocol_data; 401 da_purple_buddy_set_protocol_data purple_buddy_set_protocol_data; 402 da_purple_buddy_get_contact purple_buddy_get_contact; 403 da_purple_buddy_get_presence purple_buddy_get_presence; 404 da_purple_buddy_get_media_caps purple_buddy_get_media_caps; 405 da_purple_buddy_set_media_caps purple_buddy_set_media_caps; 406 da_purple_blist_add_buddy purple_blist_add_buddy; 407 da_purple_group_new purple_group_new; 408 da_purple_group_destroy purple_group_destroy; 409 da_purple_blist_add_group purple_blist_add_group; 410 da_purple_contact_new purple_contact_new; 411 da_purple_contact_destroy purple_contact_destroy; 412 da_purple_contact_get_group purple_contact_get_group; 413 da_purple_blist_add_contact purple_blist_add_contact; 414 da_purple_blist_merge_contact purple_blist_merge_contact; 415 da_purple_contact_get_priority_buddy purple_contact_get_priority_buddy; 416 da_purple_contact_set_alias purple_contact_set_alias; 417 da_purple_contact_get_alias purple_contact_get_alias; 418 da_purple_contact_on_account purple_contact_on_account; 419 da_purple_contact_invalidate_priority_buddy purple_contact_invalidate_priority_buddy; 420 da_purple_blist_remove_buddy purple_blist_remove_buddy; 421 da_purple_blist_remove_contact purple_blist_remove_contact; 422 da_purple_blist_remove_chat purple_blist_remove_chat; 423 da_purple_blist_remove_group purple_blist_remove_group; 424 da_purple_buddy_get_alias_only purple_buddy_get_alias_only; 425 da_purple_buddy_get_server_alias purple_buddy_get_server_alias; 426 da_purple_buddy_get_contact_alias purple_buddy_get_contact_alias; 427 da_purple_buddy_get_local_alias purple_buddy_get_local_alias; 428 da_purple_buddy_get_alias purple_buddy_get_alias; 429 da_purple_buddy_get_local_buddy_alias purple_buddy_get_local_buddy_alias; 430 da_purple_chat_get_name purple_chat_get_name; 431 da_purple_find_buddy purple_find_buddy; 432 da_purple_find_buddy_in_group purple_find_buddy_in_group; 433 da_purple_find_buddies purple_find_buddies; 434 da_purple_find_group purple_find_group; 435 da_purple_blist_find_chat purple_blist_find_chat; 436 da_purple_chat_get_group purple_chat_get_group; 437 da_purple_chat_get_account purple_chat_get_account; 438 da_purple_chat_get_components purple_chat_get_components; 439 da_purple_buddy_get_group purple_buddy_get_group; 440 da_purple_group_get_accounts purple_group_get_accounts; 441 da_purple_group_on_account purple_group_on_account; 442 da_purple_group_get_name purple_group_get_name; 443 da_purple_blist_add_account purple_blist_add_account; 444 da_purple_blist_remove_account purple_blist_remove_account; 445 da_purple_blist_get_group_size purple_blist_get_group_size; 446 da_purple_blist_get_group_online_count purple_blist_get_group_online_count; 447 da_purple_blist_load purple_blist_load; 448 da_purple_blist_schedule_save purple_blist_schedule_save; 449 da_purple_blist_request_add_buddy purple_blist_request_add_buddy; 450 da_purple_blist_request_add_chat purple_blist_request_add_chat; 451 da_purple_blist_request_add_group purple_blist_request_add_group; 452 da_purple_blist_node_set_bool purple_blist_node_set_bool; 453 da_purple_blist_node_get_bool purple_blist_node_get_bool; 454 da_purple_blist_node_set_int purple_blist_node_set_int; 455 da_purple_blist_node_get_int purple_blist_node_get_int; 456 da_purple_blist_node_set_string purple_blist_node_set_string; 457 da_purple_blist_node_get_string purple_blist_node_get_string; 458 da_purple_blist_node_remove_setting purple_blist_node_remove_setting; 459 da_purple_blist_node_set_flags purple_blist_node_set_flags; 460 da_purple_blist_node_get_flags purple_blist_node_get_flags; 461 da_purple_blist_node_get_type purple_blist_node_get_type; 462 da_purple_blist_node_get_extended_menu purple_blist_node_get_extended_menu; 463 da_purple_blist_set_ui_ops purple_blist_set_ui_ops; 464 da_purple_blist_get_ui_ops purple_blist_get_ui_ops; 465 da_purple_blist_get_handle purple_blist_get_handle; 466 da_purple_blist_init purple_blist_init; 467 da_purple_blist_uninit purple_blist_uninit; 468 } 469 }